home *** CD-ROM | disk | FTP | other *** search
/ The Business Master (3rd Edition) / The Business Master (3rd Edition).iso / files / calctors / eq / metric4.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1987-10-10  |  2.5 KB  |  98 lines

  1. PROGRAM metric;
  2.         VAR
  3.         value : REAL;
  4.         selection : INTEGER;
  5.         finish    : BOOLEAN;
  6.  
  7. PROCEDURE inches_to_centimeters;
  8.         CONST
  9.         centperinch = 2.54;
  10.         BEGIN
  11.              WRITELN(value:1:2, ' inches = ', value * centperinch:1:2,
  12.               ' centimeters');
  13.         END;  {Proc to convert inches to centimeters }
  14.  
  15. PROCEDURE centimeterstoinches;
  16.          CONST inchespercent = 0.3937;
  17.     BEGIN
  18.          WRITELN(value:0:2,' centimeters = ',
  19.                    value * inchespercent:0:2,' inches');
  20.     END;
  21.  
  22. PROCEDURE feettometers;
  23.           CONST meterstofoot = 0.3048;
  24.           BEGIN
  25.           WRITELN(value:1:2,' feet = ',value * meterstofoot:1:2,' meters');
  26.           END;
  27.  
  28. PROCEDURE meterstofeet;
  29.           CONST feettometers = 3.28084;
  30.           BEGIN
  31.           WRITELN(value:1:2,' meters = ',value*feettometers:1:2,' feet');
  32.           END;
  33.  
  34. PROCEDURE milestokilometers;
  35.           CONST kilometerstomiles = 1.609;
  36.           BEGIN
  37.           WRITELN(value:1:2,' miles = ',value*kilometerstomiles:1:2,' kilometers');
  38.           END;
  39.  
  40. PROCEDURE kilometerstomiles;
  41.           CONST milestokilometers = 0.621;
  42.           BEGIN
  43.           WRITELN(value:1:2,' kilometers = ',value*milestokilometers:1:2,' miles');
  44.           END;
  45.  
  46. procedure done;
  47.            var A    : char;
  48.      begin
  49.           writeln;
  50.           writeln;
  51.           writeln('Want to do it again?  Y/N? ');writeln;
  52.           readln(A);
  53.           finish := (  A <>    'Y') and ( A <>     'y');
  54.     end;
  55.  
  56.  
  57. BEGIN
  58.   REPEAT
  59.      CLRSCR;
  60.      WRITELN( '                  METRIC CONVERSION PROGRAM ');
  61.      WRITELN;
  62.      WRITELN;
  63.      WRITELN('State The Value To Convert');
  64.      READLN(value);
  65.      WRITELN;
  66.      WRITELN;
  67.      WRITELN('1 - Inches to centimeters');
  68.      WRITELN;
  69.      WRITELN('2 - Centimeters to inches');
  70.      WRITELN;
  71.      WRITELN('3 - Feet to meters');
  72.      WRITELN;
  73.      WRITELN('4 - Meters to feet');
  74.      WRITELN;
  75.      WRITELN('5 - Miles to kilometers');
  76.      WRITELN;
  77.      WRITELN('6 - kilometers to miles');
  78.      WRITELN;
  79.      WRITELN('7 - QUIT');
  80.      WRITELN;
  81.      WRITE( 'Selection? '); READLN( selection );
  82.      WRITELN;
  83.      CASE selection OF
  84.           1: inches_to_centimeters;
  85.           2: centimeterstoinches;
  86.           3: feettometers;
  87.           4: meterstofeet;
  88.           5: milestokilometers;
  89.           6: kilometerstomiles;
  90.           7: finish := true;
  91.           ELSE WRITELN( 'Selection error');
  92.       END; {to close "case" "of" portion}
  93.       done;
  94.       until   FINISH;
  95.  
  96.  
  97. END.
  98.